Automatic Abstraction Using Generalized Model Checking
نویسندگان
چکیده
Generalized model checking is a framework for reasoning about partial state spaces of concurrent reactive systems. The state space of a system is only “partial” (partially known) when a full state-space exploration is not computationally tractable, or when abstraction techniques are used to simplify the system’s representation. In the context of automatic abstraction, generalized model checking means checking whether there exists a concretization of an abstraction that satisfies a temporal logic formula. In this paper, we show how generalized model checking can extend existing automatic abstraction techniques (such as predicate abstraction) for model checking concurrent/reactive programs and yield the three following improvements: (1) any temporal logic formula can be checked (not just universal properties as with traditional conservative abstractions), (2) correctness proofs and counter-examples are both guaranteed to be sound, and (3) verification results can be more precise. We study the cost needed to improve precision by presenting new upper and lower bounds for the complexity of generalized model checking in the size of the abstraction.
منابع مشابه
May/Must Abstraction-Based Software Model Checking for Sound Verification and Falsification
Three-valued models, in which properties of a system are either true, false or unknown, have recently been advocated as a better representation for reactive program abstractions generated by automatic techniques such as predicate abstraction. Indeed, for the same cost, model checking three-valued abstractions, also called may/must abstractions, can be used to both prove and disprove any tempora...
متن کاملChecking Synchronous Programs Using Automatic Abstraction, Modular Veriication and Assumption Discharge
We verify synchronous programs using model checking. To cope with data and big programs, we use an automatic abstraction mechanism as well as modular veri cation. Both are proved to be conservative for the logic 8CTL . Model checking an abstract module M1 may lead to the formulation of some assumption on some module M2. Assumption are discharged using model checking or theorem proving or combin...
متن کاملAutomatic Abstraction without Counterexamples
A method of automatic abstraction is presented that uses proofs of unsatisfiability derived from SAT-based bounded model checking as a guide to choosing an abstraction for unbounded model checking. Unlike earlier methods, this approach is not based on analysis of abstract counterexamples. The performance of this approach on benchmarks derived from microprocessor verification indicates that SAT ...
متن کاملDynamic abstraction model checking
Model checking has attracted considerable attention since this technique is an automatic technique for verifying finite state concurrent systems. It is a formal method to verify if a software system or hardware system meets its properties. Nowadays, model checkers have become indispensable tools in hardware and software design and implementation, since they can reduce human efforts. Time and fe...
متن کاملAutomatic data path abstraction for verification of large scale designs
The state space explosion problem is a hurdle in the acceptance of model checking as a viable tool for verification of large-scale designs. Abstractions may be used to simplify designs, while preserving target verification properties. We propose a simple methodology for abstracting away portions of the data path, thus rendering a large state-space model of the design amenable for verification u...
متن کامل